1. Technical Field
This invention generally relates to a hardware implementation of a method of decompressing Printer Control Language Mode Three compressed data to uncompressed data directly usable as rasterized data for the laser printer engine of a laser printer.
2. Background Art
The typical page or laser printer in use today has a dither pattern matrix resolution of 300 dots per inch (DPI) and up to 600 dots per inch (DPI). This translates, for a typical 81/2.times.11" paper size to image data of one megabyte at a 300 DPI resolution rasterized data information to four megabytes at 600 DPI resolution rasterized data information. In the typical laser printer, visual image data from the host processor would be sent to the on-board processor of the laser printer where it would be processed into strips of rasterized data, stored in the random access memory (RAM) of the printer and transmitted sequentially as lines of rasterized data to the print engine, where it would be used as command signals to turn on and off the laser of the print engine to form rasterized lines of image data on the print engine drum for subsequent transfer of charged particles of toner to the printed paper.
One of the well known problems in the art is that laser print engines operate at a constant speed and as a result rasterized data must be transmitted to the print engine at a sufficient rate of speed to continuously supply the engine with data. If the engine were to run out of data midway through a printing operation, a print overrun occurs, wherein printing is aborted. It is generally known that the baud rate of transfer of information from a host processor to a printer is usually insufficient to keep up with the print engine, and as a result, an on-board printer processor is utilized to convert the image data from the host processor to rasterized strips of uncompressed data which are stored in on-board memory storage for future transmission to the printer. In order to reduce the hardware cost of the printers in today's competitive market, a variety of techniques and hardware changes are used to increase the rate of data transmission from the host processor to the printer and also to reduce the amount of on-board memory required to store uncompressed data for the print engine.
With the development of color printers utilizing toners of three primary colors, plus black, for inclusion in a dither pattern matrix of a laser printer image, the memory required for data image storage triples. Without the use of data compression techniques, the amount of memory required for a color image at a 600 DPI resolution would increase to approximately 16 megabytes per page.
One of the techniques to increase the rate of transfer of information from the host processor to the printer is to send the information in compressed data format. There are a variety of well known data compression formats, which include, amongst others, run length encoding wherein data that repeats is encoded by indicating the identity of the data and then the run length of the repeat.
Another compression technique, a modified form of which is utilized and implemented by the present invention, is known as Printer Control Language (PCL) Mode Three compression or delta row compression. Printer control language (PCL) is a trademark of the assignee of the present invention. In this compression technique, the basis of the compression is that only changes between the current row and the previous row are stored, together with some overhead, for transmission from the host processor to the printer, where the on-board processor decompresses the information to form rasterized rows of uncompressed image data which are stored as strips in memory storage and sent to the print engine as required in printer operation.
Regardless of which compression technique is used in the prior art, the compressed data has to be decompressed in the on-board printer/processor RAM, and stored in RAM prior to transmission to the laser print engine.
As can be seen, this still takes a considerable amount of printer memory capacity. This requirement for high printer memory capacity could be reduced if the rasterized strips could be stored in compressed data format, in the on-board RAM and then be directly decompressed at the interface with the print engine by means of a hardware implementation of the delta row decompression technique.